Agenda
Visualización de datos
Código paso a paso
Estéticas
Datos ‘tidy’
“The simple graph has brought more information to the data analyst’s mind than any other device.” — John Tukey
La visualización de datos es la creación y el estudio de la representación visual de los datos.
Muchas herramientas para visualizar datos, R es una de ellas.
Muchos enfoques/sistemas dentro de R para hacer visualizaciones de datos
Una gramática de gráficos es una herramienta que nos permite describir de manera concisa los componentes de un gráfico.
Es un lenguaje que permite dibujar un gráfico con palabras sencillas.
Uno puede describir el proceso de dibujar el gráfico con sus propias palabras y estas convertirse en gráfico.
{ggplot2} es el paquete de visualización de datos de tidyverse.
gg en {ggplot2} significa Gramática de gráficos.
Inspirado en el libro Grammar of Graphics de Leland Wilkinson
ggplot(data = [dataset],
mapping = aes(x = [x_variable],
y = [y_variable])) +
geom_xxx() +
other optionsAgenda
Visualización de datos
Código paso a paso
Estéticas
Datos ‘tidy’
Inicia con el data.frame gapminder
Inicia con el data.frame
gapminder, mapea year a x
Inicia con el data.frame
gapminder, mapea year a x y mapea life_expectancy a y
Inicia con el data.frame
gapminder, mapea year a x y mapea life_expectancy a y. Representa cada información con un punto
Inicia con el data.frame
gapminder, mapea year a x y mapea life_expectancy a y. Representa cada información con un punto. Mapea continent al color de los puntos
Inicia con el data.frame
gapminder, mapea year a x y mapea life_expectancy a y. Representa cada información con un punto. Mapea continent al color de los puntos. Titula el gráfico como “Esperanza de vida a lo largo del tiempo”
Inicia con el data.frame
gapminder, mapea year a x y mapea life_expectancy a y. Representa cada información con un punto. Mapea continent al color de los puntos. Titula el gráfico como “Esperanza de vida a lo largo del tiempo” y agrega el subtitulo “Datos para Africa, Americas, Asia, Europa y Oceania”
Inicia con el data.frame
gapminder, mapea year a x y mapea life_expectancy a y. Representa cada información con un punto. Mapea continent al color de los puntos. Titula el gráfico como “Esperanza de vida a lo largo del tiempo” y agrega el subtitulo “Datos para Africa, Americas, Asia, Europa y Oceania”. Etiqueta los ejes x e y como “Año” y “Esperanza de Vida”, respectivamente
Inicia con el data.frame
gapminder, mapea year a x y mapea life_expectancy a y. Representa cada información con un punto. Mapea continent al color de los puntos. Titula el gráfico como “Esperanza de vida a lo largo del tiempo” y agrega el subtitulo “Datos para Africa, Americas, Asia, Europa y Oceania”. Etiqueta los ejes x e y como “Año” y “Esperanza de Vida”, respectivamente. Etiqueta la leyenda como “Continentes”
Inicia con el data.frame
gapminder, mapea year a x y mapea life_expectancy a y. Representa cada información con un punto. Mapea continent al color de los puntos. Titula el gráfico como “Esperanza de vida a lo largo del tiempo” y agrega el subtitulo “Datos para Africa, Americas, Asia, Europa y Oceania”. Etiqueta los ejes x e y como “Año” y “Esperanza de Vida”, respectivamente. Etiqueta la leyenda como “Continentes” y agrega un titulo para la fuente de datos
ggplot(data = gapminder,
mapping = aes(x = year,
y = life_expectancy,
colour = continent)) +
geom_point() +
labs(title = "Esperanza de vida a lo largo del tiempo",
subtitle = "Datos para Africa, Americas, Asia, Europa y Oceania",
x = "Año", y = "Esperanza de Vida",
colour = "Continentes",
caption = "Fuente: Gapminder data")Inicia con el data.frame
gapminder, mapea year a x y mapea life_expectancy a y. Representa cada información con un punto. Mapea continent al color de los puntos. Titula el gráfico como “Esperanza de vida a lo largo del tiempo” y agrega el subtitulo “Datos para Africa, Americas, Asia, Europa y Oceania”. Etiqueta los ejes x e y como “Año” y “Esperanza de Vida”, respectivamente. Etiqueta la leyenda como “Continentes” y agrega un titulo para la fuente de datos. Finalmente, usa una escala de colores discreta que esté diseñada para preservar la visualización de personas con formas comunes discapacidad visual para los colores
ggplot(data = gapminder,
mapping = aes(x = year,
y = life_expectancy,
colour = continent)) +
geom_point() +
labs(title = "Esperanza de vida a lo largo del tiempo",
subtitle = "Datos para Africa, Americas, Asia, Europa y Oceania",
x = "Año", y = "Esperanza de Vida",
colour = "Continentes",
caption = "Fuente: Gapminder data") +
scale_colour_viridis_d()ggplot(data = gapminder,
mapping = aes(x = year,
y = life_expectancy,
colour = continent)) +
geom_point() +
labs(title = "Esperanza de vida a lo largo del tiempo",
subtitle = "Datos para Africa, Americas, Asia, Europa y Oceania",
x = "Año", y = "Esperanza de Vida",
colour = "Continentes",
caption = "Fuente: Gapminder data") +
scale_colour_viridis_d()Inicia con el data.frame gapminder, mapea year a x y mapea life_expectancy a y.
Representa cada información con un punto.
Mapea continent al color de los puntos.
Titula el gráfico como “Esperanza de vida a lo largo del tiempo” y agrega el subtitulo “Datos para Africa, Americas, Asia, Europa y Oceania”.
Etiqueta los ejes x e y como “Año” y “Esperanza de Vida”, respectivamente.
Etiqueta la leyenda como “Continentes” y agrega un titulo para la fuente de datos.
Finalmente, usa una escala de colores discreta que esté diseñada para preservar la visualización de personas con formas comunes discapacidad visual para los colores.
Se puede omitir los nombres de los dos primeros argumentos cuando construimos gráficos con {ggplot2}.
Se puede realizar transformaciones sobre la marcha de las variables en los gráficos de {ggplot2}.
ggplot(data = gapminder2000,
mapping = aes(x = gdp,
y = life_expectancy,
colour = continent)) +
geom_point() +
labs(title = "PBI y esperanza de vida",
subtitle = "Datos para Africa, Americas, Asia, Europa y Oceania",
x = "Producto Bruto Interno",
y = "Esperanza de Vida",
colour = "Continentes",
caption = "Fuente: Gapminder data") +
scale_colour_viridis_d()ggplot(data = gapminder2000,
mapping = aes(x = log(gdp), #< Ponemos log()
y = life_expectancy,
colour = continent)) +
geom_point() +
labs(title = "PBI y esperanza de vida",
subtitle = "Datos para Africa, Americas, Asia, Europa y Oceania",
x = "Logaritmo de Producto Bruto Interno", #< Editamos nombre
y = "Esperanza de Vida",
colour = "Continentes",
caption = "Fuente: Gapminder data") +
scale_colour_viridis_d()
Descargue la carpeta comaprtida denominada taller02.
Abra el proyecto taller02.Rproj.
Abra el archivo quarto taller02.qmd.
Renderice el archivo quarto taller02.qmd. Abra el archivo taller02.html generado.
Desarrolle la PRIMERA PARTE del taller. Al final, renderice el archivo.
10:00
Agenda
Visualización de datos
Código paso a paso
Estéticas
Datos ‘tidy’
Las características comunmente usadas en los gráficos que pueden ser mapeadas a variables específicas en los datos:
color
forma
tamaño
alfa (transparencia)
Mapeo: Determina el tamaño, alfa, etc. de los puntos basados en el valor de un variable en los datos:
Conocido en inglés como mapping.
Se configura como: aes()
Configuración: Determina el tamaño, alfa, etc. de los puntos SIN basarse en el valor de un variable en los datos:
Conocido en inglés como setting.
Se configura como: geom_* (en este caso fue geom_point, pero hay otras geometrías más)
{ggplot2} ofrece una serie de temas predinidos.
Un tema predefinido es una configuración pre-definida de componentes no dependientes de los datos (títulos, etiquetas, fuentes, fondo, grilas, leyendas, etc.) que pueden ser usados para darle un aspecto consistente a los gráficos.
Más info sobre los temas completas pre-definidos se pueden encontra en el siguiente enlace: Ver aquí.
Uno también puede personalizar sus propios temas: Ver aquí.
theme_gray (por defecto)
theme_bw()
theme_linedraw()
theme_light()
theme_dark()
theme_minimal()
theme_classic()
theme_void()
theme_test()
Se puede dividir la imagen en varias subimágenes de acuerdo a alguna otra condición.
Muy útil cuando se tienen grandes de datos y es de interés mostrar sus relaciones con varias variables.
Hay dos tipos de facetado:
facet_grid
facet_wrap
ggplot(data = gapminder,
mapping = aes(x = year,
y = life_expectancy)) +
geom_point() +
facet_grid(continent ~ .) +
scale_colour_viridis_d() +
theme_bw()ggplot(data = gapminder2000,
mapping = aes(x = log(gdp),
y = life_expectancy)) +
geom_point() +
facet_grid(. ~ continent) +
scale_colour_viridis_d() +
theme_bw()Tomemos un descanso de 5 minutos…
Estire las piernas …
Deje de ver las pantallas …
… cualquier , las del celular también.
05:00
Agenda
Visualización de datos
Código paso a paso
Estéticas
Datos ‘tidy’
Características de los datos ordenados o ‘tidy’
variable forma un columna.observación forma una fila.tipo de unidad observacional forma una tabla.Características de los datos desordenados o ‘untidy’
!@#$%^&*()
Al igual que {ggplot}, el paquete {dplyr}, también de {tidyverse}, ofrece toda una gramática llena de funciones que actúan como verbos para manipular data.frames.
select: extrae columnas usando nombresarrange: reordena filasslice: extrae filas usando índicesfilter: extrae filas que coincidan con criterios lógicosdistinct: filtra por filas únicasmutate: agrega nuevas variablessummarise: reduce variables a valoresgroup_by: para operacionesa agrupadas
El primer argumento siempre es el data frame.
Los argumentos subsecuentes dicen qué hacer con el data frame.
Siempre retorna un data frame.
No altera el data frame original.
Ver solamente country (países):
Inicia con la función (un verbo): select()
Primer argumento: data frame con el que trabajaremos, gapminder
Segundo argumento: variable que queremos seleccionar, country
Resultado: data frame con 10545 filas y 1 columna
Las funciones de dplyr siempre esperan un data frame y siempre generan un data frame.
Tomemos un descanso de 5 minutos…
Estire las piernas …
Deje de ver las pantallas …
… cualquier , las del celular también.
05:00
@psotob91
https://github.com/psotob91
percys1991@gmail.comFundamentos R para Ciencia de Datos en Salud - Sesión 3